class Instituicao(object):

    def __init__(self, cod_instituicao, cod_curso, nome_instituicao, nome_curso, grau, vagas_iniciais, colocados, notas, vagas_sobra):
        self.cod_instituicao = cod_instituicao
        self.cod_curso = cod_curso
        self.nome_instituicao = nome_instituicao
        self.nome_curso = nome_curso
        self.grau = grau
        self.vagas_iniciais = vagas_iniciais
        self.colocados = colocados
        self.notas = notas
        self.vagas_sobra = vagas_sobra

    @staticmethod
    
    #statistica por instituicoes
    
    def numeroAlunosInstituicao(lista):
        instituicoes = []
        nAlunos = []
        for x in lista:
            sName = x.nome_instituicao.split(" - ", 1)
            if not(sName[0] in instituicoes) and (type(x.colocados) == int):
                instituicoes.append(sName[0])
                nAlunos.append(int(x.colocados))
            elif((sName[0] in instituicoes) and (type(x.colocados) == int)):
                index = instituicoes.index(sName[0])
                item = nAlunos[index]
                nAlunos[index] += int(x.colocados)
        return instituicoes, nAlunos

    @staticmethod
    
    #estatistica por distrito
    
    def numeroAlunosDistrito(lista):
        instituicoes = []
        nAlunos = []
        for x in lista:
            sName = x.nome_instituicao.split(" - ", 1)
            if (len(sName) > 1):
                if not(sName[1] in instituicoes) and (type(x.colocados) == int):
                    instituicoes.append(sName[1])
                    nAlunos.append(int(x.colocados))
                elif((sName[1] in instituicoes) and (type(x.colocados) == int)):
                    index = instituicoes.index(sName[1])
                    item = nAlunos[index]
                    nAlunos[index] += int(x.colocados)
            else:
                if not(sName[0] in instituicoes) and (type(x.colocados) == int):
                    instituicoes.append(sName[0])
                    nAlunos.append(int(x.colocados))
                elif((sName[0] in instituicoes) and (type(x.colocados) == int)):
                    index = instituicoes.index(sName[0])
                    item = nAlunos[index]
                    nAlunos[index] += int(x.colocados)

        return instituicoes, nAlunos

